An Object-oriented Approach to Formal Specification
نویسندگان
چکیده
Formal methods for software development are becoming increasingly necessary as softwarebecomes an important part of everyday life. To handle the complexities inherent in large-scale software systems these methods need to be combined with a sound developmentmethodology which supports modularity and reusability. Object orientation, based on theconcept that systems are composed of collections of interacting objects whose behavioursare specified by classes, is such a methodology.This thesis presents the formal specification language Object-Z which is an extension ofthe formal specification language Z to facilitate specification in an object-oriented style.The major extension in Object-Z is the introduction of the class schema which capturesthe object-oriented notion of a class by encapsulating a single state schema with all theoperation schemas which may affect its variables. The class schema is not simply asyntactic extension but also defines a type whose instances are objects. Object-Z alsosupports single and multiple inheritance allowing classes to be reused in the definitionof other classes and polymorphism allowing a variable to be assigned to objects of morethan one class.The thesis also presents a set-theoretic model of classes in Object-Z which could form thebasis of a full formal semantics. The model, based on the histories of a class, i.e. thesequences of states and operations which an object of the class can undergo, facilitatesthe specification of liveness properties using a temporal logic notation. A fully-abstractmodel of classes in Object-Z, derived from the history model, is also presented. Thismodel is used to formally define a notion of behavioural compatibility in Object-Z whichcould form the basis of a theory of class refinement.
منابع مشابه
Modeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism
In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...
متن کاملModeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism
In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...
متن کاملPresenting Object Oriented Formal Requirements Specifications: Insights from an Action Research Study
This paper describes, in outline, our experiences in structuring and presenting formal requirements specifications, and in particular the insights gained from an action research study undertaken within the Western Australian state government. The overall aim of the project was to evaluate and enhance an information systems development method, known as FOOM (Formal Object Oriented Method). FOOM ...
متن کاملObject-oriented Analysis and System Level Architecture
The growing complexity of hardware/software systems requires a system level specification and design approach. There are many practical problems in the application of object-oriented methods for this goal. Our aim is to explore the use of formal executable models on a system level as an approach for hardware/software co-specification. This paper reports experiences in developing executable spec...
متن کاملGenerating Maude Specifications From UML Use Case Diagrams
This paper presents a systematic approach supporting the translation of UML use case diagrams, describing the functional requirements of a system, into a Maude formal specification. The proposed approach also considers the static and dynamic features of object-oriented systems. The formal and object-oriented language Maude, based on rewriting logic, supports formal specification and programming...
متن کاملCombining Formal Specifications with Design by Contract
In this paper, we present an approach to the object-oriented software development which is based on: i) automatic generation of a throwaway prototype from the initial specification in a formal, declarative, object-oriented specification language, ii) validation of user requirements and refinement of the specification by using this prototype, and iii) automatic translation from the validated spe...
متن کامل